Methods and Systems for Selecting Internet Radio Program Break Content Using Mobile Device Location

ABSTRACT

Methods and systems for selecting content for outputting on a mobile device during a program break in an Internet radio stream using mobile device location information. In one aspect, the methods and systems seamlessly select content for outputting on a mobile device during a program break in an Internet radio stream using mobile device location information and program break markers. In another aspect, the methods and systems select content for outputting on a mobile device during a program break in an Internet radio stream using mobile device trajectory information.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of application Ser. No. 13/901,824,filed on May 24, 2013, allowed, which is a continuation of applicationSer. No. 12/384,193, filed on Apr. 1, 2009, now U.S. Pat. No. 8,452,227,which claims the benefit of U.S. provisional Application No. 61/110,372,filed on Oct. 31, 2008, all of which are incorporated herein byreference.

BACKGROUND OF INVENTION

The present invention relates to location-based services and, morespecifically, methods and systems for selecting content for outputtingon a mobile device during a program break in an Internet radio streamusing mobile device location information.

Many radio stations deliver audio programming via the Internet. SomeInternet radio streams are simulcasts of radio broadcasts transmitted byconventional over-the-air radio stations. Other Internet radio streamsoriginate from Internet-only sources.

Internet radio streams are sometimes comprised of audio programs ofspecified durations. For example, an Internet radio stream may have ahalf-hour news program followed by a two-hour talk show program followedby a four-hour music program. Each of these audio programs will normallyinclude program breaks during which audio content that is distinct fromthe program content is delivered. For example, a talk show program maybe interrupted by program breaks during which advertisements and newsreports (e.g. traffic, weather, stock market, politics, sports, etc.)are outputted.

The audio content outputted during Internet radio program breaks isoften outputted to all listeners without regard to where they arelistening. This audio content may be of limited value to many listeners,advertisers and broadcasters because it addresses topics that are notsufficiently local or otherwise relevant to these entities. Moreover,such indiscriminate outputting limits the pool of businesses that canafford to purchase Internet radio ad spots. For example, manyneighborhood businesses that market to a local customer base cannotafford to pay for an advertisement outputted to the entire listenershipof an Internet radio program.

To address the foregoing concerns, it has been proposed to select audiocontent for outputting on mobile devices during Internet radio programbreaks based on the location of the mobile devices. However, theseproposals have not provided meaningful guidance on how to perform thereal-time content selection using mobile device location informationrequired for seamless Internet radio. Moreover, these proposals haveneglected other value-added approaches, such as selecting audio contentbased on a mobile device's trajectory as opposed to its mere location.

SUMMARY OF THE INVENTION

In one aspect, the present invention seamlessly selects content foroutputting on a mobile device during a program break in an Internetradio stream using mobile device location information and program breakmarkers. Using mobile device location information to select programbreak content facilitates selection of program break content thataddresses topics highly relevant to the listener, advertiser andbroadcaster and thus often of greater value to one or more of theseentities. Using program break markers facilitates the real-time contentselection required for seamless Internet radio. In another aspect, thepresent invention selects content for outputting on a mobile deviceduring a program break in an Internet radio stream using mobile devicetrajectory information. Using mobile device trajectory information toselect program break content facilitates selection of program breakcontent that addresses topics relating to where a mobile device user isheaded, which may be of even greater value to the listener, advertiserand broadcaster.

In some embodiments of the invention, an Internet radio source selectsprogram break content using location information reported by a mobiledevice. In some of these embodiments, an Internet radio source comprisesa communication interface, a memory and a processor communicativelycoupled with the communication interface and the memory, wherein theInternet radio source receives via the communication interface locationinformation associated with a mobile device receiving an Internet radiostream and under control of the processor in response to detecting amarker in the Internet radio stream indicating a start of a programbreak selects content for outputting on the mobile device during theprogram break based at least in part on the location information.

In some of these embodiments, under control of the processor theInternet radio source inserts the content into the Internet radio streamduring the program break and delivers the content to the mobile devicevia the communication interface.

In some of these embodiments, under control of the processor theInternet radio source selects the content based at least in part onconformance of the content with the location information and duration ofthe program break.

In some of these embodiments, the marker indicates the duration of theprogram break.

In some of these embodiments, under control of the processor theInternet radio source selects the content based at least in part on adetermination of compatibility of the content with the mobile device.

In some of these embodiments, the Internet radio source under control ofthe processor determines a trajectory of the mobile device based atleast in part on the location information and selects content foroutputting on the mobile device during the program break based at leastin part on the trajectory.

In some of these embodiments, the content comprises audio content.

In some of these embodiments, the content comprises print content.

In some of these embodiments, the content comprises audio content andrelated print content.

In some of these embodiments, the location information has a degree ofaccuracy selected by a user of the mobile device.

In some of these embodiments, the location information is received fromthe mobile device in response to a request transmitted by the Internetradio source.

In some of these embodiments, the location information is received fromthe mobile device independent of any request transmitted by the Internetradio source.

In some of these embodiments, the location information comprises globalpositioning system (GPS) coordinates.

In some of these embodiments, the content comprises an advertisement.

In some of these embodiments, the content comprises a news report.

In other of these embodiments, a method for selecting content foroutputting on a mobile device receiving an Internet radio stream duringa program break in the Internet radio stream comprises the steps ofreceiving location information associated with the mobile device,detecting a marker in the Internet radio stream indicating a start ofthe program break and selecting content for outputting on the mobiledevice during the program break based at least in part on the locationinformation.

In other embodiments of the invention, a mobile device selects programbreak content using location information generated on the mobile device.In some of these embodiments, a mobile device comprises a locationinterface, a communication interface, a memory and a processorcommunicatively coupled with the location interface, the communicationinterface and the memory, wherein the mobile device receives via thelocation interface location information associated with the mobiledevice and receives via the communication interface an Internet radiostream and under control of the processor in response to detecting amarker in the Internet radio stream indicating a start of a programbreak selects content for outputting on the mobile device during theprogram break based at least in part on the location information.

In some of these embodiments, the mobile device under control of theprocessor inserts the content into the Internet radio stream during theprogram break and outputs the content on the mobile device via at leastone audio output interface.

In some of these embodiments, the mobile device receives via thecommunication interface a plurality of content candidates associatedwith respective location information and selects the content from amongthe content candidates.

In some of these embodiments, the mobile device under control of theprocessor determines a trajectory of the mobile device based at least inpart on the location information and selects content for outputting onthe mobile device during the program break based at least in part on thetrajectory.

In still other embodiments, an Internet radio source selects programbreak content using trajectory information determined from locationinformation reported by a mobile device. In some of these embodiments,an Internet radio source comprises a communication interface, a memoryand a processor communicatively coupled with the communication interfaceand the memory, wherein the Internet radio source receives via thecommunication interface location information associated with a mobiledevice receiving an Internet radio stream and under control of theprocessor selects content for outputting on the mobile device during aprogram break in the Internet radio stream based at least in part ontrajectory information determined using the location information.

In some of these embodiments, the Internet radio source selects thecontent based at least in part on an estimated time of arrivaldetermined using the trajectory information.

In still other embodiments, a method for selecting content foroutputting on a mobile device receiving an Internet radio stream duringa program break in the Internet radio stream comprises the steps ofreceiving location information associated with the mobile device andselecting content for outputting on the mobile device during the programbreak based at least in part on trajectory information determined usingthe location information.

These and other aspects of the invention will be better understood byreference to the following detailed description taken in conjunctionwith the drawings that are briefly described below. Of course, theinvention is defined by the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a communication system in some embodiments of theinvention.

FIG. 2 shows a mobile device in some embodiments of the invention.

FIG. 3 shows operational elements of the mobile device of FIG. 2.

FIG. 4 shows an Internet radio source in some embodiments of theinvention.

FIG. 5 shows operational elements of the Internet radio source of FIG.4.

FIG. 6 shows method steps performed by an Internet radio source tofacilitate location-based selection of content for outputting on amobile device during a program break in an Internet radio stream in someembodiments of the invention.

FIG. 7 shows method steps performed on a mobile device to facilitatelocation-based selection of content for outputting on the mobile deviceduring a program break in an Internet radio stream in some embodimentsof the invention.

FIG. 8 shows method steps performed by an Internet radio source tofacilitate trajectory-based selection of content for outputting on amobile device during a program break in an Internet radio stream inother embodiments of the invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

FIG. 1 shows a communication system in which the invention is operativein some embodiments. The communication system includes mobile devices102, 104 that are communicatively coupled with Internet access devices106, 108, respectively, via wireless links. Mobile devices 102, 104 areshown to include a mobile phone 102 and a passenger vehicle 104 havingan Internet radio, although mobile devices operative with the inventionmay include various other types of mobile devices that are capable ofdetermining their location and outputting an Internet radio stream, suchas portable computers, personal data assistants (PDAs) and mobileInternet appliances. Internet access devices 106, 108 are installed atdifferent geographic locations and may be any of various types ofdevices capable of supporting mobile wireless Internet access, such asWiMAX, EDGE or 3G base stations or Wi-Fi access points, to name a few.Internet access devices 106, 108 are communicatively coupled with anInternet radio source 120 over a communication network 130, which mayhave any number of nodes, such as routers, switches, and bridges, via awired or wireless connection. Internet radio source 120 delivers tomobile devices 102, 104 an Internet radio stream that may be a simulcastof an over-the-air radio broadcast or an Internet-only radio stream. Thecommunication system also includes a constellation of GPS satellites 100transmitting GPS signals that mobile devices 102, 104 receive andinterpret to resolve their respective locations.

In other embodiments, a mobile device may acquire its location from asource other than GPS, such as a different satellite navigation systemor a terrestrial source. Location acquisition from a terrestrial sourcemay be accomplished through, for example, base station triangulation,manual input of a location by a mobile device user or advertisement of astatic location by an Internet access device to which the mobile deviceis linked wirelessly.

Turning to FIG. 2, a mobile device 200, which is representative ofmobile devices 102, 104, is shown in some embodiments to include alocation interface 210, a wireless communication interface 220, a memory240, an audio output interface 250 and a printer 260, all of which arecommunicatively coupled with a processor 230. Location interface 210receives GPS signals from GPS satellites 100 and passes GPS signals toprocessor 230. Wireless communication interface 220 providesconnectivity between mobile device 200 and an Internet access device(e.g. 106, 108) via a wireless link, such as a WiMAX, EDGE, 3G or Wi-Filink. Audio output interface 250 includes speakers or other devices thatproduce audio output for outputting audio content in an Internet radiostream to a user of mobile device 200. Printer 260 is a printingmechanism for outputting to a mobile device user print content that maybe related to audio content in an Internet radio stream. Processor 230executes in software operations supported by mobile device 200,including management of wireless links and Internet radio streamingsessions via wireless communication interface 220; generating andtransmitting to Internet radio source 120 via wireless communicationinterface 220 location reports having GPS coordinates resolved from GPSsignals and an identifier associated with mobile device 200, such as anIP address, media access control (MAC) address or session identifier;outputting audio content in an Internet radio stream via audio outputinterface 250; and outputting print content that may be related to audiocontent in an Internet radio stream via printer 260. Memory 240 storessoftware executable by processor 230, an identifier of mobile device 200and resolved GPS coordinates. Memory 240 may include one or more randomaccess memory (RAM) and/or one or more read only memory (ROM) elements.

FIG. 3 shows operational elements of mobile device 200 stored in memory240 to include a communication client 310, a location resolver 320, anaudio output controller 330, a print controller 340, a device ID store350 and a location data store 360. Communication client 310, locationresolver 320, audio output controller 330 and print controller 340 aresoftware programs executable by processor 230. Device ID store 350 andlocation data store 360 are data storage elements.

Communication client 310 generates and transmits location reports toInternet radio source 120 via wireless communication interface 220.Location reports may be generated and transmitted in response tolocation requests received from Internet radio source 120 via wirelesscommunication interface 220, or independent of any request from Internetradio source 120. Location reports may be transmitted in response to anevent, such as receipt of a location report or resolution of a newlocation, or may be transmitted periodically. Location reports includeinformation retrieved from device ID store 350 sufficient to identifymobile device 200, such as an IP address, and location informationretrieved from location data store 360, such as GPS coordinatesincluding at least a latitude and longitude. Location information may betime-stamped with its time of acquisition. A location report may includeonly the most recently resolved instance of GPS coordinates, or mayinclude the last N resolved instances GPS coordinates, wherein N is agreater than one. In the event valid GPS coordinates are unavailable atthe time of reporting, such unavailability may be indicated in alocation report by, for example, setting an invalid location flag ortransmitting an invalid location symbol that will be recognized byInternet radio source 120. Moreover, to protect privacy, communicationclient 310 may provide a user with the ability to enable (opt-in) ordisable (opt-out) provision of location information to Internet radiosource 120, and may provide the user with the ability to select thedegree of accuracy of location information provided to Internet radiosource 120. For example, a user may prescribe that GPS coordinatesincluded in a location report be accurate to within one kilometer.

Communication client 310 also translates audio content in an Internetradio stream received from Internet radio source 120 via wirelesscommunication interface 220 into sound for outputting on audio outputinterface 250 under control of audio output controller 330.Communication client 310 additionally translates any print contentrelated to such audio content into printer-ready data for outputting onprinter 260 under control of print controller 340.

Location resolver 320 translates GPS signals received from locationinterface 210 into GPS coordinates having at least a latitude andlongitude. Location resolver 320 stores the GPS coordinates in locationdata store 360, and may time-stamp the GPS coordinates with theacquisition time of the GPS coordinates. The time used to time-stamp GPScoordinates may be obtained from GPS satellites 100 or an internalclock, for example. In non-GPS embodiments, location resolver 320 maytranslate (if necessary), time-stamp and store location informationreceived from an alternative satellite navigation system or terrestrialsource.

Turning to FIG. 4, Internet radio source 120 is shown in someembodiments of the invention to include an audio input interface 410, acommunication interface 420 and a memory 440, all of which arecommunicatively coupled with a processor 430. Audio input interface 410receives sound generated as part of an Internet radio program, orreceives sound from an over-the-air terrestrial radio program, andpasses the sound to processor 430. Communication interface 420 providesconnectivity between Internet radio source 120 and communication network130 via a wired or wireless connection, such as a high-bandwidthEthernet connection, over which an Internet radio stream is delivered tomobile device 200. Processor 430 executes in software operationssupported by Internet radio source 120, including management of wiredconnections and Internet radio streaming sessions via communicationinterface 420, processing location reports received from mobile device200 via communication interface 420, translating sound received viaaudio input interface 410 as part of an Internet radio program into astreaming format, inserting selected content during program breaks in anInternet radio stream using GPS coordinates received in locationreports, and delivering an Internet radio stream having selected programbreak content to mobile device 200 via communication interface 420.Memory 440 stores software executable by processor 430, information fromlocation reports received from mobile device 200 and program breakcontent selectable for insertion into an Internet radio stream. Memory440 may have RAM and/or ROM elements.

FIG. 5 shows operational elements of Internet radio source 120 stored inmemory 440 to include a communication server 510, an Internet radiostream encoder/marker 520, a content insertion manager 530, a reportedlocation database 540 and a program break content database 550.Communication server 510, Internet radio stream encoder/marker 520 andcontent insertion manager 530 are software programs executable byprocessor 430. Reported location database 540 and program break contentdatabase 550 are data storage elements. Internet radio source 120 andelements shown within memory 440 may be implemented on a single node ormay be distributed across multiple nodes, which may be in closeproximity or remote from one another. In one distributed architectureexample, software elements 510, 520, 530 may be collocated withprocessor 430 on a first node while databases 540, 550 may be located onone or more other nodes to which the first node has network access. Inanother distributed architecture example, software elements 510, 520,530 may be distributed across multiple nodes and executed by differentprocessors.

Communication server 510 processes location reports received from mobiledevice 200 via communication interface 420. Communication server 510 mayissue location requests via communication interface 420 in response towhich location reports are received, or location reports may be receivedindependent of any request issued by Internet radio source 120. Whereemployed, location requests may be transmitted in response to events orperiodically. Communication server 510 extracts the locationinformation, such as GPS coordinates, and the associated device ID, suchas an IP address, from location reports and stores the associatedinformation in reported location database 540. Any time stampaccompanying the location information may also be stored as part of theassociated information. Communication server 510 also delivers to mobiledevice 200 via communication interface 420 an Internet radio streamhaving selected content retrieved from program break content database550 inserted therein.

Internet radio stream encoder/marker 520 encodes and compresses soundreceived in an Internet radio program via audio interface 410 to convertthe sound into an Internet radio stream for delivery over the Internet.Encoder/marker 520 also inserts markers into the Internet radio streamidentifying starting points of program breaks in the Internet radioprogram during which program break content may be inserted into theInternet radio stream. Markers are electronically detectable by contentinsertion manager 530 to trigger content selection for insertion duringprogram breaks. A marker may explicitly indicate the duration of aprogram break. Alternatively, content insertion manager 530 maydetermine the duration of a program break by reference to a programscript provided in advance of the Internet radio program. For example,an advance program script may inform content insertion manager 530 thata marker detected about ten minutes after the start of an Internet radioprogram will precede a program break of one minute duration. In stillother embodiments, content insertion manager 530 may discover theduration of a program break by detecting an end marker that signals theend of the program break.

Content insertion manager 530 applies information stored in reportedlocation database 540 to select suitable audio and any related printcontent from program break content database 550 for insertion in anInternet radio stream during program breaks, and inserts selectedcontent into the Internet radio stream. Program break content stored indatabase 550 comprises audio content, such as advertisements and newsreports, that is distinct from the program content, and any relatedprint content. In other embodiments, program break content may consistonly of audio content or only print content. News reports may include,for example, traffic, weather, stock market, politics and sportsreports. Related print content may include, for example, a printablecoupon for a business entity (e.g. restaurant) that is sponsoring anaudio advertisement. Program break content is stored in association witha location range and indication of program break duration for which suchcontent is suitable for insertion.

FIG. 6 shows method steps performed by Internet radio source 120, undercontrol of processor 430, to facilitate location-based selection ofcontent for outputting on mobile device 200 during a program break in anInternet radio stream in some embodiments of the invention. It should benoted at the outset that while the method describes selection of programbreak content for a single mobile device 200, in practice there may bemany mobile devices receiving the same Internet radio stream for whichInternet radio source 120 simultaneously (or nearly simultaneously)selects program break content.

In the method, Internet radio source 120 transmits to mobile device 200an Internet radio stream and a location request (605). The locationrequest may be embedded with the Internet radio stream. In otherembodiments, no location request is transmitted.

Next, Internet radio source 120 receives a location report from mobiledevice 200 (610). The location report has one or more instances oflocation information and an identifier associated with mobile device200. The location information may be, for example, GPS coordinatesincluding a latitude and longitude. The identifier of mobile device 200may be, for example, an IP address, MAC address or session identifier.The location information may be time-stamped with a time that thelocation information was acquired by mobile device 200. The locationinformation may be accurate to within GPS tolerances or within a lesserdegree of accuracy prescribed by the user. Internet radio source 120under control of processor 430 stores information from the locationreports in reported location database 540.

Next, Internet radio source 120 under control of processor 430identifies a program break in the Internet radio stream (615). In thisregard, Internet radio source 120 detects a marker in the Internet radiostream that indicates a program break start and duration. In otherembodiments, Internet radio source 120 may determine the duration of theprogram break from a program script. In other embodiments, Internetradio source 120 may discover the duration of the program break from anend marker. Naturally, if no marker is found, the content selectionprocess is aborted (620).

If a program break is found, Internet radio source 120 under control ofprocessor 430 next identifies any content in program break contentdatabase 550 that matches the most recent reported location of mobiledevice 200 in location database 540 (625). In this regard, Internetradio source 120 may compare for a match the most recent GPS coordinatesof mobile device 200 with location ranges associated with variousinstances of program break content stored in database 550. If noinstance of location-matching program break content is found, thecontent selection process is aborted (620). In that event, Internetradio source 120 may deliver during the program break predetermineddefault content.

It bears noting that Internet radio source 120 may inhibit the contentselection process if the last reported location of mobile device 200 isnot sufficiently current. To make this determination, Internet radiosource 120 may compare time stamps stored in association with locationinformation for mobile device 200 in reported location database 540 withthe current time. For a mobile device that does not report time-stampedlocation information, Internet radio source 120 may inhibit the contentselection process if such mobile device has failed to respond to thelast N location requests, where N is a predetermined number that is atleast one. Alternatively, Internet radio source 120 may itself associatetime stamps with reported location information based on time of receiptand inhibit the content selection process if the time of the lastreported location as indicated by a time stamp is sufficiently stale.

It also bears noting that Internet radio source 120 may inhibitselection of incompatible program break content. For example, if programbreak content has an audio component and a print component, Internetradio source 120 may inhibit selection of the program break content ormay restrict selection to the audio component if Internet radio source120 determines that the print component is incompatible with a mobiledevice, for example, determines that a mobile device does not have aprinter. To make this determination, Internet radio source 120 mayrequest a mobile device, or a mobile device may report independent ofany request, information (e.g. device make and model) from whichInternet radio source 120 can determine compatibility of the mobiledevice with program break content.

If one or more instances of location-matching program break content isfound, Internet radio source 120 under control of processor 430 nextdetermines whether the durations of the location-matching program breakcontent instances match the duration of the program break (630). In thisregard, Internet radio source 120 determines if the duration of theprogram break as indicated by the marker in the Internet radio stream ordetermined from a program script matches the duration of the one or moreinstances of location-matching program break content. If the duration ofa given instance of location-matching program break content exceeds theduration of the program break, the program break content is not suitablefor insertion during the program break and is not selected. This isbecause such program break content would be cut-off prior to completionif outputted during the program break. Moreover, if the duration of agiven instance of location-matching program break content issubstantially less than the duration of the program break, the programbreak content is not suitable for insertion during the program break andis not selected. This is because outputting of such program breakcontent would finish well before completion of the program break,resulting in a substantial dead period in the Internet radio stream.However, if the duration of a given instance of location-matchingprogram break content is identical or only slightly shorter than theduration of the program break, the program break content is suitable forinsertion during the program break and may be selected. Moreover, if theduration of multiple instances of location-matching program breakcontent when combined is identical or not substantially less than theduration of the program break, the sequence is suitable for insertionduring the program break and may be selected as a sequence. If noinstance of duration-matching program break content is found, thecontent selection process is aborted (620).

If one or more instances of duration-matching program break content isfound, Internet radio source 120 under control of processor 430 insertsa selected instance of the duration-matching program break content intothe Internet radio stream during the program break (635), and theprogram break content is delivered to mobile device 200 during theprogram break.

Naturally, if there are multiple program breaks, Steps 615-635 may berepeated for each program break.

In other embodiments, a start marker detected at the start of a programbreak prompts selection and insertion of program break content and anend marker detected at the end of the program break signals resumptionof the program content. In these embodiments, the program break durationmay not be known when program break content is selected and programbreak content that does not match the program break duration may thus beselected. Internet radio source 120 may make timing adjustments to theInternet radio stream transmitted by Internet radio source 120 (e.g.delay resumption of transmission of the regular program content) toachieve seamless streaming in these embodiments.

FIG. 7 shows method steps performed on mobile device 200, under controlof processor 230, to facilitate location-based selection of content foroutputting on mobile device 200 during a program break in an Internetradio stream in some embodiments of the invention. Mobile device 200receives from Internet radio source 120 an Internet radio stream and alocation request (705). In other embodiments, no location request istransmitted. Mobile device 200 transmits to Internet radio source 120 alocation report (710). Mobile device 200 then receives during a programbreak in the Internet radio stream program break content, if any, thatmatches the location reported by mobile device 200 and the program breakduration (715) and outputs the location- and duration-matching content(720).

FIG. 8 shows method steps performed by Internet radio source 120 tofacilitate trajectory-based selection of content for outputting onmobile device 200 during a program break in an Internet radio stream inother embodiments of the invention. These embodiments take into accountthe directional bearing and velocity of mobile device 200 in selectingprogram break content. This enables program break content to be selectedthat addresses topics relating to where a mobile device user is likelyheaded, which may be of greater value to the sponsor of the informationand the listener alike. For example, trajectory information for mobiledevice 200 can be advantageously applied to select for outputting onmobile device 200 an advertisement for a roadside location that a usertraveling on a roadway is approaching but has not yet reached or passed,affording the user ample time to consider, decide and act on theadvertisement.

In the method, Internet radio source 120 transmits to mobile device 200an Internet radio stream and location request (805) and receives alocation report from mobile device 200 (810). In other embodiments, nolocation request is transmitted. If a threshold number N of locationreports, where N is greater than one, has not been received from mobiledevice 200, the content selection process returns to Step 805. However,if N location reports have been received from mobile device 200, thecontent selection process proceeds to Step 815.

Once N location reports have been received, Internet radio source 120under control of processor 430 determines a trajectory of mobile device200 using the multiple reported locations (815). In this regard,Internet radio source 120 may determine a directional bearing and avelocity of mobile device 200 using GPS coordinates and associated timestamps from multiple location reports and predict future locations ofmobile device 200 over time based on the bearing and velocity. Internetradio source 120 may also consult a GPS map database stored in memory440 or elsewhere to identify a road upon which mobile device 200 istraveling and predict future locations of mobile device 200 over timebased on the roadway, bearing and velocity. In any event, Internet radiosource 120 determines a trajectory of mobile device 200 from whichfuture locations of mobile device 200 at future times can be predicted.Naturally, the trajectory is updated as additional location reports arereceived from mobile device 200.

Next, Internet radio source 120 under control of processor 430 detects amarker in the Internet radio stream that indicates a program break startand duration (820). If no marker is found, the content selection processis aborted (825).

If a program break is found, Internet radio source 120 under control ofprocessor 430 next identifies any content in program break contentdatabase 550 that matches the trajectory of mobile device 200 (830). Inthis regard, Internet radio source 120 may compare for a match thetrajectory of mobile device 200 with locations or location rangesassociated with various instances of program break content stored indatabase 550. In some embodiments, content insertion manager 530determines an estimated time of arrival of mobile device 200 at alocation or within a location range associated with an instance ofprogram break content stored on database 550 using the presenttrajectory of mobile device 200 and declares a match if the estimatedtime of arrival is within a particular time window. For example, contentinsertion manager 530 may implement a rule whereby a trajectory match isdeclared for program break content if an estimated time of arrival ofmobile device 200 at a location associated with the program breakcontent is between one and ten minutes. If no instance oftrajectory-matching program break content is found, the contentselection process is aborted (825).

If one or more instances of trajectory-matching program break content isfound, Internet radio source 120 under control of processor 430 nextdetermines whether the durations of the trajectory-matching programbreak content instances match the duration of the program break (835).If no instance of duration-matching program break content is found, thecontent selection process is aborted (830).

If one or more instances of duration-matching program break content isfound, Internet radio source 120 under control of processor 430 insertsthe duration-matching program break content into the Internet radiostream during the program break (840), and the program break content isdelivered to mobile device 200 during the program break.

It will be appreciated by those of ordinary skill in the art that theinvention can be embodied in other specific forms without departing fromthe spirit or essential character hereof. For example, while in thedescribed methods the content-location match step (FIG. 6) andcontent-trajectory match step (FIG. 8) are performed before thecontent-duration match step, these steps may be performed in reverseorder or contemporaneously. Moreover, in some embodiments, the mobiledevice selects program break content using location informationgenerated on the mobile device. In these embodiments, the mobile devicedoes not transmit location information to the Internet radio source.Instead, the Internet radio source identifies program break contentcandidates whose durations are suitable for upcoming program breaks anddownloads the program break content candidates to the mobile device. Themobile device receives from the Internet radio source the plurality ofprogram break content candidates and their associated location rangesand selects content from among the content candidates based at least inpart on a match between location information resolved by the mobiledevice, or a trajectory determined by the mobile device from multipleinstances of location information resolved by the mobile device, and thelocation range of the content candidate. The mobile device then outputsthe selected content during the program break.

The present description is therefore considered in all respects to beillustrative and not restrictive. The scope of the invention isindicated by the appended claims, and all changes that come within themeaning and range of equivalents thereof are intended to be embracedtherein.

1. A method for streaming localized content to a mobile device during aprogram break in an Internet radio program, comprising: streaming froman Internet radio source to a mobile device an Internet radio program;receiving by the Internet radio source from the mobile device a reportincluding a location of the mobile device; detecting electronically bythe Internet radio source a marker indicating a start of a program breakin the Internet radio program; streaming from the Internet radio sourceto the mobile device during the program break program break contentselected by the Internet radio source using the reported location and aprogram break duration indicator configured for the program breakindicating a duration of the program break; and resuming by the Internetradio source streaming to the mobile device of the Internet radioprogram after the program break.
 2. The method of claim 1, whereinselection of the program break content comprises consulting by theInternet radio source an advance program script associating the programbreak and the program break duration indicator.
 3. The method of claim1, wherein the marker contains the program break duration indicator. 4.The method of claim 1, wherein the program break duration indicator isuniquely associated with the program break.
 5. The method of claim 1,wherein selection of the program break content comprises consulting bythe Internet radio source a database associating a plurality of programbreak content instances with a respective plurality of location rangesand indicators of duration for which the program break content instancesare suitable for insertion.
 6. The method of claim 1, wherein selectionof the program break content comprises comparing for a first match bythe Internet radio source the reported location with a location rangeassociated in a database with a program break content instance andcomparing for a second match by the Internet radio source the programbreak duration indicator configured for the program break with anindicator of duration associated in the database with the program breakcontent instance.
 7. The method of claim 1, wherein the second streamingstep comprises streaming from the Internet radio source to the mobiledevice during the program break a plurality of program break contentitems selected by the Internet radio source using the reported locationand the program break duration indicator.
 8. The method of claim 1,wherein the location report further comprises a time and the methodfurther comprises the step of verifying by the Internet radio sourceusing the reported time that the reported location is sufficientlycurrent to be used in selecting the program break content.
 9. The methodof claim 1, wherein the Internet radio source delays resumption ofstreaming of the Internet radio program to the mobile device beyond theprogram break and makes timing adjustments to the Internet radio programto achieve seamless streaming.
 10. The method of claim 1, wherein thereported location comprises global positioning system (GPS) coordinates.11. The method of claim 1, wherein the reported location is determinedusing location information manually inputted by a user of the mobiledevice.
 12. The method of claim 1, wherein the reported location isdetermined using base station triangulation.
 13. The method of claim 1,wherein the reported location is determined using a location associatedwith an Internet access device with which the mobile device is inwireless communication.
 14. The method of claim 1, wherein the mobiledevice is a mobile phone.
 15. The method of claim 1, wherein the mobiledevice is a portable computer.
 16. The method of claim 1, wherein themobile device is a passenger vehicle.
 17. The method of claim 1, whereinthe Internet radio program is a music program.
 18. The method of claim1, wherein the Internet radio program is a talk show program.
 19. Themethod of claim 1, wherein the Internet radio program is a news program.20. The method of claim 1, wherein the program break content comprisesan advertisement.
 21. The method of claim 1, wherein the program breakcontent comprises a radio station identification message.
 22. The methodof claim 1, wherein the program break content comprises a trafficreport.
 23. The method of claim 1, wherein the program break contentcomprises a weather report.
 24. The method of claim 1, wherein theprogram break content comprises a politics report.
 25. The method ofclaim 1, wherein the program break content comprises a sports report.26. The method of claim 1, wherein the reported location has a degree ofaccuracy selected by a user of the mobile device.
 27. The method ofclaim 1, wherein the program break content comprises audio content andprint content identifying a business entity sponsoring the program breakcontent.
 28. A method for streaming localized content to a mobile deviceduring an advertising break in an Internet radio audio stream,comprising: streaming from an Internet radio source to a mobile devicean Internet radio audio stream; receiving by the Internet radio sourcefrom the mobile device a report including a location of the mobiledevice; detecting electronically by the Internet radio source a markerindicating a start of an advertising break in the Internet radio audiostream; streaming from the Internet radio source to the mobile deviceduring the advertising break an advertisement selected by the Internetradio source using the reported location and an advertising breakduration indicator configured for the advertising break indicating aduration of the advertising break; and resuming by the Internet radiosource streaming to the mobile device of the Internet radio audio streamafter the advertising break.
 29. The method of claim 28, whereinselection of the advertisement comprises consulting by the Internetradio source an advance program script associating the advertising breakand the advertising break duration indicator.
 30. The method of claim28, wherein the marker contains the advertising break durationindicator.
 31. The method of claim 28, wherein the advertising breakindicator is uniquely associated with the advertising break.
 32. Themethod of claim 28, wherein selection of the advertisement comprisesconsulting by the Internet radio source a database associating aplurality of advertisement instances with a respective plurality oflocation ranges and indicators of duration for which the advertisementinstances are suitable for insertion.
 33. The method of claim 28,wherein selection of the advertisement comprises comparing for a firstmatch by the Internet radio source the reported location with a locationrange associated in a database with an advertisement instance andcomparing for a second match by the Internet radio source theadvertising break duration indicator configured for the advertisingbreak with an indicator of duration associated in the database with theadvertisement instance.
 34. The method of claim 28, wherein the secondstreaming step comprises streaming from the Internet radio source to themobile device during the advertising break a plurality of advertisementsselected by the Internet radio source using the reported location andthe advertising break duration indicator.
 35. The method of claim 28,wherein the location report further comprises a time and the methodfurther comprises the step of verifying by the Internet radio sourceusing the reported time that the reported location is sufficientlycurrent to be used in selecting the advertisement.
 36. The method ofclaim 28, wherein the Internet radio source delays resumption ofstreaming of the Internet radio audio stream to the mobile device beyondthe advertising break and makes timing adjustments to the Internet radioaudio stream to achieve seamless streaming.
 37. The method of claim 28,wherein the reported location comprises global positioning system (GPS)coordinates.
 38. The method of claim 28, wherein the reported locationis determined using location information manually inputted by a user ofthe mobile device.
 39. The method of claim 28, wherein the reportedlocation is determined using base station triangulation.
 40. The methodof claim 28, wherein the reported location is determined using alocation associated with an Internet access device with which the mobiledevice is in wireless communication.
 41. The method of claim 28, whereinthe mobile device is a mobile phone.
 42. The method of claim 28, whereinthe mobile device is a portable computer.
 43. The method of claim 28,wherein the mobile device is a passenger vehicle.
 44. The method ofclaim 28, wherein the Internet radio audio stream is a music stream. 45.The method of claim 28, wherein the reported location has a degree ofaccuracy selected by a user of the mobile device.
 46. The method ofclaim 28, wherein the advertisement comprises audio content and printcontent identifying a business entity sponsoring the advertisement. 47.An Internet radio source, comprising: at least one communicationinterface; and a processor communicatively coupled with thecommunication interface, wherein under control of the processor theInternet radio source is configured to stream to a mobile device via theinterface an Internet radio program, receive from the mobile device viathe interface a report including a location of the mobile device, detectelectronically a marker indicating a start of a program break in theInternet radio program, stream to the mobile device via the interfaceduring the program break program break content selected using thereported location and a program break duration indicator configured forthe program break indicating a duration of the program break and resumestreaming to the mobile device via the interface the Internet radioprogram after the program break.
 48. The Internet radio source of claim47, wherein under control of the processor the Internet radio source isconfigured to consult an advance program script associating the programbreak and the program break duration indicator.
 49. The Internet radiosource of claim 47, wherein the marker contains the program breakduration indicator.
 50. The Internet radio source of claim 47, whereinthe program break duration indicator is uniquely associated with theprogram break.
 51. The Internet radio source of claim 47, wherein undercontrol of the processor the Internet radio source is configured toconsult a database associating a plurality of program break contentinstances with a respective plurality of location ranges and indicatorsof duration for which the program break content instances are suitablefor insertion.
 52. The Internet radio source of claim 47, wherein undercontrol of the processor the Internet radio source is configured tocompare for a first match the reported location with a location rangeassociated in a database with a program break content instance andcompare for a second match the program break duration indicatorconfigured for the program break with an indicator of durationassociated in the database with the program break content instance. 53.The Internet radio source of claim 47, wherein under control of theprocessor the Internet radio source is configured to stream to themobile device via the interface during the program break a plurality ofprogram break content items selected using the reported location and theprogram break duration indicator.
 54. The Internet radio source of claim47, wherein the location report further comprises a time and undercontrol of the processor the Internet radio source is configured toverify using the reported time that the reported location issufficiently current to be used in selecting the program break content.55. The Internet radio source of claim 47, wherein under control of theprocessor the Internet radio source is configured to delay resumption ofstreaming of the Internet radio program to the mobile device beyond theprogram break and make timing adjustments to the Internet radio programto achieve seamless streaming.
 56. The Internet radio source of claim47, wherein the reported location comprises global positioning system(GPS) coordinates.
 57. The Internet radio source of claim 47, whereinthe reported location is determined using location information manuallyinputted by a user of the mobile device.
 58. The Internet radio sourceof claim 47, wherein the reported location is determined using basestation triangulation.
 59. The Internet radio source of claim 47 whereinthe reported location is determined using a location associated with anInternet access device with which the mobile device is in wirelesscommunication.
 60. The Internet radio source of claim 47, wherein themobile device is a mobile phone.
 61. The Internet radio source of claim47, wherein the mobile device is a portable computer.
 62. The Internetradio source of claim 47, wherein the mobile device is a passengervehicle.
 63. The Internet radio source of claim 47, wherein the Internetradio program is a music program.
 64. The Internet radio source of claim47, wherein the Internet radio program is a talk show program.
 65. TheInternet radio source of claim 47, wherein the Internet radio program isa news program.
 66. The Internet radio source of claim 47, wherein theprogram break content comprises an advertisement.
 67. The Internet radiosource of claim 47, wherein the program break content comprises a radiostation identification message.
 68. The Internet radio source of claim47, wherein the program break content comprises a traffic report. 69.The Internet radio source of claim 47, wherein the program break contentcomprises a weather report.
 70. The Internet radio source of claim 47,wherein the program break content comprises a politics report.
 71. TheInternet radio source of claim 47, wherein the program break contentcomprises a sports report.
 72. The Internet radio source of claim 47,wherein the reported location has a degree of accuracy selected by auser of the mobile device.
 73. The Internet radio source of claim 47,wherein the program break content comprises audio content and printcontent identifying a business entity sponsoring the program breakcontent.